home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / comm / onefos08.zip / ONEFOS.TXT < prev    next >
Text File  |  1996-01-11  |  42KB  |  787 lines

  1.               ONEFOSsil FOSSIL 5 Communications Driver Revision 8
  2.           (c) Copyright 1995-96 by Carl Morris and Morris Softronics,
  3.                               all rights reserved
  4.         Published and released by Morris Softronics on January 12, 1996
  5.  
  6.                                Table of Contents
  7.     Topic                                                           Location
  8.     ------------------------------------------------------------------------
  9.     What is ONEFOSsil?  . . . . . . . . . . . . . . . . . . . . . . . . .  1
  10.     Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
  11.     Licensing Information . . . . . . . . . . . . . . . . . . . . . . . .  3
  12.           Distribution . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
  13.           Registration  . . . . . . . . . . . . . . . . . . . . . . . .  3-2
  14.           Benefits of Registering  . . . . . . . . . . . . . . . . . . . 3-3
  15.     System Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  4
  16.     Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
  17.           Port Argument . . . . . . . . . . . . . . . . . . . . . . . .  5-1
  18.           Command Line Options . . . . . . . . . . . . . . . . . . . . . 5-2
  19.                 Locking Port Settings . . . . . . . . . . . . . . . .  5-2-1
  20.                 Setting Buffer Sizes . . . . . . . . . . . . . . . . . 5-2-2
  21.                 Setting Multitasker Options . . . . . . . . . . . . .  5-2-3
  22.                 Controlling FIFO's . . . . . . . . . . . . . . . . . . 5-2-4
  23.                 Holding the Interrupt . . . . . . . . . . . . . . . .  5-2-5
  24.                 Controlling Time-outs  . . . . . . . . . . . . . . . . 5-2-6
  25.                 Controlling Carrier-Detection . . . . . . . . . . . .  5-2-7
  26.     After Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 6
  27.           Un-installing . . . . . . . . . . . . . . . . . . . . . . . .  6-1
  28.           Getting Status . . . . . . . . . . . . . . . . . . . . . . . . 6-2
  29.           Changing Port Settings  . . . . . . . . . . . . . . . . . . .  6-3
  30.           Forcing Port Opened  . . . . . . . . . . . . . . . . . . . . . 6-4
  31.           Forcing Port Closed . . . . . . . . . . . . . . . . . . . . .  6-5
  32.     Examples of Installation and Use . . . . . . . . . . . . . . . . . . . 7
  33.     Compatibility Notes . . . . . . . . . . . . . . . . . . . . . . . . .  8
  34.           Shared IRQ's . . . . . . . . . . . . . . . . . . . . . . . . . 8-1
  35.           Pretested Software  . . . . . . . . . . . . . . . . . . . . .  8-2
  36.           Windows Tips . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
  37.     Troubleshooting (obtaining support) . . . . . . . . . . . . . . . . .  9
  38.     Credits  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  10
  39.  
  40.                          Section 1: What is ONEFOSsil?
  41.  
  42.     ONEFOSsil is a high speed serial communications driver for 8250 series
  43.     UARTs.  The 8250 series includes all compatible UARTs, including the
  44.     8250A, 8250B, 16450, 16550, 16550A, and the 82510 in 16450 compatibility
  45.     mode.  Other UARTs are sure to exist that may be compatible.
  46.  
  47.     ONEFOSsil provides services for FOSSIL compliant software.  ONEFOSsil
  48.     supports most of the FOSSIL 5 specification and the Extended X00 FOSSIL
  49.     specification.  ONEFOSsil will probably work with any program that is
  50.     designed to use a FOSSIL driver.  Some differences do exist between
  51.     ONEFOSsil and a full FOSSIL 5 driver, and the technical document,
  52.     ONEREF.TXT, describes these differences.  Very few of these differences
  53.     should cause problems.
  54.  
  55.     ONEFOSsil is special (it can't be called unique) in that it only
  56.     supports one FOSSIL port at a time.  This provides the best solution for
  57.     multitasking environments such as DESQview or Windows where only one
  58.     port is needed in each task.  Just because ONEFOSsil is a single port
  59.     driver, that does not stop it from being useful for multiport or
  60.     multiline systems.  ONEFOSsil can even handle multiple ports that share
  61.     the same IRQ (read Compatibility Notes - Shared IRQ's.)
  62.  
  63.     Some people ask why there is a need for another FOSSIL driver.  Other
  64.     people are finally relieved to see new FOSSIL drivers.  Its been nearly
  65.     two years since the last update of any FOSSIL driver.  Most drivers are
  66.     much older than that yet.  Many of the current drivers are loaded with
  67.     bugs, and the versions that are bug free are lacking needed features.
  68.     Most drivers are not even supported by their authors anymore.
  69.  
  70.     ONEFOSsil was wrote to fill this gap completely.  ONEFOSsil not only
  71.     provides an alternative, but a better solution.  The author stands
  72.     behind ONEFOSsil, promotes it and FOSSIL compliant software, and is
  73.     willing to take the heat.  In a time where more and more software is
  74.     becoming less and less DOS based, it is hard for anyone to provide and
  75.     support such a product as ONEFOSsil.  It is only for this reason that
  76.     ONEFOSsil has been produced as a shareware product.  By supporting the
  77.     author, you show the author your support of his work in supporting the
  78.     product.
  79.  
  80.                               Section 2: Warranty
  81.  
  82.     The shareware version of ONEFOSsil comes with absolutely no warranty.
  83.     Due to the instability of modern media and the unreliability of
  84.     communications devices, it can not be guaranteed that this copy of
  85.     ONEFOSsil is in the same state as when it was released.  Use of this
  86.     software and/or documentation is at your own risk.
  87.  
  88.     Carl Morris, Morris Softronics, or any of their distributors can not be
  89.     held responsible for any accidental or consequential damages this
  90.     product may cause, including destruction of data, or damage to
  91.     equipment.  No warranties exist on the use of this product, either
  92.     expressed or implied, and is hereby disclaimed of any and all implied
  93.     warranties of merchantability and fitness for a particular purpose.
  94.  
  95.     The only expressed warranty of the registered version of ONEFOSsil is if
  96.     ONEFOSsil ever performs incorrectly, ONEFOSsil will be corrected and a
  97.     new registered version will be made available.  This is based on Morris
  98.     Softronics judgment of "performing incorrectly."
  99.  
  100.                         Section 3: Licensing Information
  101.  
  102.     Since ONEFOSsil is primarily a shareware product, several licenses apply
  103.     to its distribution and use.  ONEFOSsil is protected by U.S. copyright
  104.     laws and international copyright treaties and is licensed, not sold.
  105.  
  106.                            Section 3-1: Distribution
  107.  
  108.     Distribution rights of this copy of ONEFOSsil is described in the file
  109.     DISTRIB.TXT supplied with this copy.
  110.  
  111.                            Section 3-2: Registration
  112.  
  113.     The shareware version of ONEFOSsil is for evaluation only.  After the
  114.     evaluation period, the full version of ONEFOSsil must be licensed for
  115.     use, or the shareware version must be removed from use.  The file
  116.     REGISTER.TXT supplied with ONEFOSsil will detail the registration
  117.     process.
  118.  
  119.                       Section 3-3: Benefits of Registering
  120.  
  121.     Registration of a shareware product is usually done to extend the
  122.     usefulness or enjoyment of a product.  Shareware products usually come
  123.     crippled, or with some form of a reminder, or both.  ONEFOSsil is not
  124.     crippled in any way.  ONEFOSsil will display a registration reminder and
  125.     beep every time it is ran.  ONEFOSsil will delay 5 seconds when it is
  126.     installed.  This is a small price to pay to evaluate cripple free high
  127.     performance software such as ONEFOSsil.
  128.  
  129.     Registration of ONEFOSsil will include, but not be limited to:  an
  130.     indefinite license agreement, an executable without the delay and
  131.     reminder, free (from registration costs) upgrades to newer versions,
  132.     enhanced support from the author, and discounts and specials on other
  133.     products from Morris Softronics.
  134.  
  135.                          Section 4: System Requirements
  136.  
  137.     To be effective and useful, ONEFOSsil requires the following: MS DOS 3.0
  138.     or compatible operating system, a minimum of 64k of memory(uses 4k
  139.     minimum for installation), an 80286 or compatible processor, an 8250 or
  140.     compatible UART, and software that is FOSSIL 5 compliant.
  141.  
  142.     Almost any application that is FOSSIL 5(or less) compliant should
  143.     function with ONEFOSsil.  Lots of new applications that use FOSSIL
  144.     drivers are appearing all the time, so it is hard to say that any
  145.     specific kind of software will or will not use ONEFOSsil.
  146.  
  147.                             Section 5:  Installation
  148.  
  149.     NOTICE: As of revision 8, some functions have not yet been completed.
  150.     Notes will appear if a function is still being written.  Please read
  151.     Troubleshooting if any problems arise.
  152.  
  153.     ONEFOSsil knows little, and assumes less about the computer it is being
  154.     used on.  ONEFOSsil gets all its information about the computer off the
  155.     command line.  ONEFOSsil's command line is simple to use when
  156.     installing.  Only one argument is required; all other arguments are
  157.     optional, and may be placed in any order after the first argument.  The
  158.     following is the syntactical use of ONEFOSsil for installation:
  159.  
  160.           ONEFOS port=address,irq [L=[baud][[,format][,flow]]]
  161.                 [B=[write][[,read][[,stop][[,continue]]]]]
  162.                 [S=os[,sensitivity]] [F=[buffer][,trigger]] [H] [T=time]
  163.                 [D[=delay]]
  164.  
  165.     Details on each option are in the following sections.  Refer to Examples
  166.     of Installation and Use if additional help is required.  Notice that
  167.     ONEFOSsil's command line is case insensitive.  The letters A and a are
  168.     treated the same.
  169.  
  170.     An error level of 0 is returned if ONEFOSsil was successfully installed.
  171.  
  172.                            Section 5-1: Port Argument
  173.  
  174.     The port=address,irq argument is the only argument required to install
  175.     ONEFOSsil.  However, seldom will ONEFOSsil work at it its best potential
  176.     knowing that little and assuming the rest.
  177.  
  178.     The port value is the decimal number of the communications port
  179.     ONEFOSsil is to provide services for.  It may be any value from 1 to 64.
  180.     Not all software support ports greater than 8 or 16.  In most cases,
  181.     port 1 is the same as COM1 and so on, but may be changed at will for
  182.     special circumstances.
  183.  
  184.     The address and irq values provide ONEFOSsil with the hardware address
  185.     for the UART it is to provide services for.
  186.  
  187.     The address value is a hexadecimal number that details the base
  188.     input/output address for the UART.  Valid values for address range 100
  189.     though FFFF.
  190.  
  191.     The irq value is a decimal number that details the hardware interrupt
  192.     request line the UART will use to signal ONEFOSsil to communicate with
  193.     the UART.  Valid values for irq are 3 though 5, 7, 9 through 12, and 15.
  194.     If a value of 2 is needed, the value 9 will work.
  195.  
  196.     The following table displays some common values used for port, address,
  197.     and irq.
  198.  
  199.     COM Port    port  address     irq
  200.     -------------------------------------
  201.       COM1        1     03F8       4
  202.       COM2        2     02F8       3
  203.       COM3        3     03E8       4
  204.       COM4        4     02E8       3
  205.  
  206.     Notice that ONEFOSsil refers to ports the same way most software do;
  207.     other FOSSIL drivers do not.  This was done to make ONEFOSsil simpler to
  208.     use specially in batch files that need to use ONEFOSsil commands after
  209.     ONEFOSsil has been installed, but more on that later.
  210.  
  211.                        Section 5-2: Command Line Options
  212.  
  213.     Following the port=address,irq argument may follow any number of options
  214.     in any order, provided no option is repeated.  Most of these options
  215.     change ONEFOSsil's usefulness or performance.  For some computers and
  216.     software, some of these options seem mandatory.  The following sections
  217.     describe each option in detail.  It is encouraged that people should
  218.     read each section carefully to see which options may apply to their
  219.     computer or software.
  220.  
  221.                       Section 5-2-1: Locking Port Settings
  222.  
  223.     The most often used option in FOSSIL installations is the settings
  224.     locking options.  With ONEFOSsil, almost anything that can be configured
  225.     by applications can be locked on the command line, to prevent an
  226.     application from changing it.  This is primarily what the settings
  227.     locking options are for.  With high speed modems, the "computer to
  228.     modem" speed seldom changes, and so is locked to prevent applications
  229.     from changing it.  Most configurations also only use an "8N1" data
  230.     format, and so often lock it, to prevent possibly buggy software from
  231.     changing it.  ONEFOSsil has an added option; ONEFOSsil can lock which
  232.     types of flow control are to be used, preventing applications from
  233.     changing them.  The syntax for ONEFOSsil's settings locking option
  234.     follows:
  235.  
  236.           L=[baud][,[format][,[flow]]
  237.  
  238.     What this shows is that all values are optional.  If a value is not
  239.     specified, a comma should still be placed between the missing values.
  240.     Trailing commas are not permitted, and of course, if no values are
  241.     specified, one should not place L= on the command line.
  242.  
  243.     The baud value defines the baud rate that will always be used to
  244.     communicate on this port.  Applications are not permitted to change it.
  245.     Only ONEFOSsil may later change or clear this value.  Often, high speed
  246.     modems have an option to remain at one speed all the time.  If the modem
  247.     on the port works this way, the baud value should be used to specify
  248.     this speed.  For slow speed modems, this value should usually not be
  249.     used.  The baud value may be 110, 150, 300, 600, 1200, 2400, 4800, 9600,
  250.     19200, 28800, 38400, 57600, or 115200.
  251.  
  252.     The format value defines the data format that should always be used to
  253.     transmit and receive characters.  Applications are not permitted to
  254.     change it.  Only ONEFOSsil may later change or clear this value.  Most
  255.     configurations only call for 8 data bits, no parity, 1 stop bit.  Unless
  256.     need warrants, this value should always be locked to "8N1".  The format
  257.     value is specified by combining one value from each of the following
  258.     groups: data bits - 5, 6, 7, or 8; parity - N for none, O for odd, E for
  259.     even, M for mark, and S for space; stop bits - 1 or 2.
  260.  
  261.     The flow value defines which methods of flow control should be locked.
  262.     Applications will not be permitted to set or remove flow control options
  263.     locked here.  Only ONEFOSsil may later change any flow control options
  264.     which have been locked.  Flow control can both be locked enabled or
  265.     locked disabled.  If a baud value was specified, hardware flow control
  266.     should be locked enabled.  In many cases, software flow control provides
  267.     problems, and should locked disabled.  The flow value can be any one or
  268.     more(providing they are not repeated) of the following: [-]H to lock
  269.     enabled [or disabled] hardware flow control, [-]S to lock enabled [or
  270.     disabled] sending of software slow control codes, or [-]R to lock
  271.     enabled [or disabled] acting on received software flow control codes.
  272.     With most high speed modems, flow should almost always be set to
  273.     "H-S-R".  However, locking software flow control disabled may provide
  274.     problems with some FAX software.
  275.  
  276.                       Section 5-2-2: Setting Buffer Sizes
  277.  
  278.     Increasing buffer sizes often makes applications more efficient and
  279.     increases the application's performance.  While the default buffer
  280.     values work fine on most DOS only based systems, users of multitasking
  281.     environments may find they need larger buffers.  ONEFOSsil provides a
  282.     single option that permits setting buffer sizes, along with flow control
  283.     threshold values.  ONEFOSsil is the only communications driver known to
  284.     allow the user to tweak the flow control thresholds.  The syntax for the
  285.     buffer configuration command follows:
  286.  
  287.           B=[write][,[read][,[stop][,[continue]]]]
  288.  
  289.     What this shows is that all values are optional.  If a value is not
  290.     specified, a comma should still be placed for the missing value.
  291.     Trailing commas are not permitted, and of course, if no values are
  292.     specified, one should not place B= on the command line.
  293.  
  294.     The write value specifies the size in bytes of the transmit buffer.
  295.     Valid values for write range 32 through 32767 and defaults to 1024.  A
  296.     common rule for setting the buffer is to set the buffer large enough to
  297.     hold one second worth of data.  An ideal value for write is 1024 to
  298.     5760.
  299.  
  300.     The read value specifies the size, in bytes, of the receive buffer.
  301.     Valid values for read range 32 through 32767 and defaults to 1024.  A
  302.     common rule for setting the buffer is to set the buffer large enough to
  303.     hold one second worth of data.  An ideal value for read is 1024 to 5760.
  304.  
  305.     The stop value specifies the point at which there is too little room in
  306.     the receive buffer and flow control should be engaged to prevent an
  307.     overrun of the receive buffer.  Valid values for stop range 0 through 1
  308.     less than the read value and defaults to ¼ of the read value.
  309.  
  310.     The continue values specifies the point at which there is enough room in
  311.     the receive buffer to safely disengaged flow control after it has been
  312.     engaged, allowing more data to be received.  Valid values for continue
  313.     range 1 through the value of read and defaults to ½ of the read value.
  314.     The continue value must be larger than the stop value.
  315.  
  316.     Notes
  317.  
  318.     ■  The total size of the buffers can not exceed the memory limit of the
  319.        driver.  ONEFOSsil occupies about 4k of memory, so the remaining 60k
  320.        of the memory available to it may be split between the two buffers.
  321.     ■  A receiver buffer size of 32 should only be used on very slow modems
  322.        or serial connections.  Otherwise, the receive buffer size should
  323.        never be less than 64 bytes.
  324.     ■  The stop and continue values are automatically calculated based on
  325.        the read value, and it is strongly suggested not to attempt to change
  326.        the default settings.
  327.  
  328.                    Section 5-2-3: Setting Multitasker Options
  329.  
  330.     ONEFOSsil provides a means to detect when some applications are idle,
  331.     and return their time slice to the multitasker.  For this to work, the
  332.     application must be using ONEFOSsil and you must be running in a
  333.     supported multitasking environment.  Currently both DESQview and Windows
  334.     are supported.  ONEFOSsil does not detect which multitasker it is
  335.     functioning on, so defaults to not returning time slices.  The syntax
  336.     for setting the multitasker options follows:
  337.  
  338.           S=os[,sensitivity]
  339.  
  340.     The os value specifies which multitasker ONEFOSsil is to return time
  341.     slices to.  Valid values are D for DESQview and W for Windows.
  342.  
  343.     The sensitivity value is optional, and specifies the sensitivity
  344.     ONEFOSsil is to measure before returning time slices.  Valid values for
  345.     sensitivity range 0 through 255 and defaults to 128 if not specified.
  346.     This value works somewhat like Windows 95's MS-DOS Program Properties
  347.     Idle Sensitivity slider.  Smaller values yield more time slices; larger
  348.     values yield fewer time slices.  There is no known ideal value.  Some
  349.     applications have been found to be so efficient at making FOSSIL calls
  350.     that ONEFOSsil can not detect their idleness.
  351.  
  352.                        Section 5-2-4: Controlling FIFO's
  353.  
  354.     ONEFOSsil is considered the be one of the few communications driver to
  355.     permit the user to configure the usage of the 16550 receive and transmit
  356.     FIFO's independently.  This was done because when using the new
  357.     multitasking environment's virtualized communications ports, there is
  358.     performance to be gained.  Please read Compatibility Notes - Windows
  359.     Tips for more information when running under Windows or Windows 95.  The
  360.     FIFO settings option is only valid if the UART was detected with working
  361.     FIFO's.  The syntax for controlling the FIFO's follows:
  362.  
  363.           F=buffer[,trigger]
  364.  
  365.     The buffer value specifies the number of characters ONEFOSsil will
  366.     buffer into the UART's transmit FIFO.  Valid values for buffer are 0
  367.     through 255, and defaults to 16 on the 16550.  The buffer value should
  368.     not exceed the number of transmit FIFO's the UART has.  A 16650 may be
  369.     capable of buffering 32 characters, but has not been tested.  A value of
  370.     0 forces FIFO's to be entirely disabled.
  371.  
  372.     The trigger value is optional, and may only be specified if the buffer
  373.     value was specified.  The trigger value is a code that specifies how
  374.     many characters must be received before the UART will request ONEFOSsil
  375.     to read them.  Current values for trigger range 1 through 4 and defaults
  376.     to 3.  On a 16550 UART, the trigger value causes the following results:
  377.  
  378.     trigger     characters received
  379.     ------------------------------
  380.        1              1
  381.        2              4
  382.        3              8
  383.        4              14
  384.  
  385.     Generally, trigger should be set at 3 unless problems occur.  If
  386.     problems like CRC errors occur frequently when pressing a key or
  387.     switching tasks, the trigger value should be reduced.  However, special
  388.     settings apply for Windows, documented in Compatibility Notes - Windows
  389.     Tips.
  390.  
  391.                       Section 5-2-5: Holding the Interrupt
  392.  
  393.     Under some circumstances, it might be dangerous for ONEFOSsil to hook
  394.     and unhook the UART's interrupt request vector only when needed.  The
  395.     hooking option forces ONEFOSsil to hook the interrupt at installation
  396.     time rather than when needed by an application.  The syntax for the
  397.     hooking option follows:
  398.  
  399.           H
  400.  
  401.     The hooking option will not prevent applications from hooking on top of
  402.     ONEFOSsil, and does not prevent applications from stealing the UART's
  403.     hardware interrupt request or FOSSIL services vectors from ONEFOSsil.
  404.     It is primarily provided for users that load ONEFOSsil before the
  405.     multitasking environment, but may not be required.  There are also
  406.     circumstances documented in Compatibility Notes - Pretested Software
  407.     that require the use of this option.
  408.  
  409.                       Section 5-2-6: Controlling Time-outs
  410.  
  411.     Some functions in the FOSSIL specification will not return until they
  412.     have been satisfied.  Hardware problems wreak havoc with this, and may
  413.     cause unexplainable lock-up's.  ONEFOSsil provides a configurable
  414.     time-out option to force these functions to return after the preset time
  415.     period.  This helps reduce the chances of sudden hardware problems from
  416.     completely locking up a system.  The syntax for the time-out option
  417.     follows:
  418.  
  419.           T=time
  420.  
  421.     The time value specified the length of time that ONEFOSsil will wait for
  422.     a function to complete when failing.  The unit of time is seconds, and
  423.     valid values range 0 through 3599 (60 minutes), and defaults to 30.  If
  424.     other FOSSILs provide a time-out condition it is generally 30 seconds,
  425.     Some FOSSILs will never time-out.  The BIOS communications routines
  426.     usually time-out after 2 seconds; however, most FOSSIL compatible
  427.     software are wrote to skip time-outs, and so too small a value will
  428.     cause lost characters during flow control.  Time-out values are accurate
  429.     to 1,080/19,663rds of a second.
  430.  
  431.                   Section 5-2-7: Controlling Carrier Detection
  432.  
  433.     ONEFOSsil provides a means of delaying carrier drops or providing
  434.     applications with a continuous carrier detection.  This is known as
  435.     providing a fake carrier detect, and ONEFOSsil is known to be the only
  436.     FOSSIL driver that provides the user such an option.  Providing a delay
  437.     for carrier drops may improve connections on 2400bps or slower modems.
  438.     Providing a fake carrier detect is a software means of solving a faulty
  439.     or incorrectly wired null-modem cable, or enabling software to work with
  440.     a 3-line cable.  The syntax for the delayed carrier option follows:
  441.  
  442.           D[=delay]
  443.  
  444.     Specifying the D without a value forces the carrier detect to be always
  445.     active on this port.  When an application requests the port status,
  446.     ONEFOSsil will always report that there is carrier present.  If the
  447.     optional delay value is specified, ONEFOSsil will delay the carrier from
  448.     dropping for delay units of time.  The unit of delay is 1,080/19,663rds
  449.     of a second, or approximately 1/18th of a second.  Valid values for
  450.     delay range 1 through 32767 (30 minutes).  A common value, if needed, is
  451.     18, which provides about 1 second for the carrier to recover.  This is
  452.     used primarily on old 1200 or 2400bps modems which permit the carrier
  453.     detect line to drop during line noise.  Newer models of slower modems no
  454.     longer need this as they perform like high speed modems, which only drop
  455.     the carrier detect line when the connection has been terminated.
  456.  
  457.     This option is provided to make ONEFOSsil possibly the most complete
  458.     communications driver.  This option may be often useful for people
  459.     trying to figure out how to tie two computers together and can't get
  460.     their software to work without a carrier detect.  For those who can wire
  461.     a cable, the following will help:  On each end of the cable, short the
  462.     lines named DSR and DCD together.  This provides a carrier detect based
  463.     on the DTR.  Then to lower the DCD to fake having "hung up" one would
  464.     lower the DTR line.  Most communications programs lower DTR to hang up
  465.     modems, so this works well on computer to computer connections.
  466.  
  467.                          Section 6: After Installation
  468.  
  469.     After ONEFOSsil has been installed, ONEFOSsil can manipulate some of its
  470.     functions or change its parameters.  The syntax for using ONEFOSsil to
  471.     execute its commands follows.
  472.  
  473.           ONEFOS port [command]
  474.  
  475.     The port argument works the same as if ONEFOSsil was installing itself.
  476.     Generally port 1 refers to COM1.  The following commands apply to the
  477.     command value.
  478.  
  479.     A more complete utility is coming soon from the author that will enable
  480.     its users to do almost anything to the FOSSIL driver from a batch file.
  481.     More on this when the time comes.
  482.  
  483.                            Section 6-1: Un-installing
  484.  
  485.     After having been installed, ONEFOSsil can be removed from memory when
  486.     its services are no longer needed.  The following is the syntax for the
  487.     un-install command.
  488.  
  489.           U
  490.  
  491.     ONEFOSsil will attempt to remove itself from memory.  If it is unsafe to
  492.     do so, an error will be display, and ONEFOSsil will remain in memory.
  493.     Different versions of ONEFOSsil will not un-install each other.  An
  494.     error level of 0 is returned if ONEFOSsil successfully removed itself.
  495.  
  496.                           Section 6-2: Getting Status
  497.  
  498.     Getting the status of a ONEFOSsil port is not currently available.  It
  499.     simply hasn't been completed.  When it is completed, it will provide
  500.     some information about the current conditions of the specified ONEFOSsil
  501.     port.  It will also be able to display some information about other
  502.     FOSSIL driver's ports.
  503.  
  504.                       Section 6-3: Changing Port Settings
  505.  
  506.     Changing the port settings of a ONEFOSsil port is not currently
  507.     available.  It simply hasn't been completed.  When completed it will
  508.     permit both changing the locked parameters or just the current settings
  509.     for port speed, data format, and flow control.
  510.  
  511.                         Section 6-4: Forcing Port Opened
  512.  
  513.     ONEFOSsil can be used to force a port activated.  This is not specific
  514.     to ONEFOSsil ports, and may be used with any FOSSIL driver.  The syntax
  515.     for opening a port follows.
  516.  
  517.           O
  518.  
  519.     ONEFOSsil will attempt to open the specified port, and will report its
  520.     success or failure.  ONEFOSsil will exit with an error level of 0 if it
  521.     was successful.
  522.  
  523.                         Section 6-5: Forcing Port Closed
  524.  
  525.     ONEFOSsil can be used to force a port deactivated.  This is not specific
  526.     to ONEFOSsil ports, and may be used with any FOSSIL driver.  The syntax
  527.     for closing a port follows:
  528.  
  529.           C
  530.  
  531.     ONEFOSsil will attempt to close the specified port, and will report its
  532.     success or failure.  ONEFOSsil can not insure that it was successful
  533.     though, but will exit with an error level of 0 if it appears to have
  534.     worked.
  535.  
  536.                   Section 7: Examples of Installation and Use
  537.  
  538.     This section will show some examples on how ONEFOSsil is installed and
  539.     used.  These examples usually will not be sufficient by themselves, but
  540.     they provide hints on how options are used in case the descriptions
  541.     above were not clear enough.
  542.  
  543.     Installing ONEFOSsil on standard COM1 which is running a 28800bps modem.
  544.     This will set the buffers to allow for one second of data.
  545.  
  546.           ONEFOS 1=03F8,4 L=115200,8N1,H-S-R B=4096,4096
  547.  
  548.     Installing ONEFOSsil on a completely non-standard port, locking the baud
  549.     rate at 38400, data format at 8N1, and hooking the hardware interrupt at
  550.     load time.
  551.  
  552.           ONEFOS 5=3480,13 L=38400,8N1,H H
  553.  
  554.     Installing ONEFOSsil on COM4 using IRQ 7 locking the data format at 7
  555.     data bits, even parity, 2 stop bits, and locking software flow control,
  556.     with very small buffers.
  557.  
  558.           ONEFOS 3=02E8,7 L=,7E2,SR B=64,64
  559.  
  560.     Un-installing ONEFOSsil from COM3.
  561.  
  562.           ONEFOS 3 U
  563.  
  564.     Opening COM1 after ONEFOSsil has already been installed.
  565.  
  566.           ONEFOS 1 O
  567.  
  568.                          Section 8: Compatibility Notes
  569.  
  570.     These sections include some tips and other issues on using ONEFOSsil in
  571.     specific environments or with specific software.  Some of these tips may
  572.     have been reported by users, but have usually been tested.  Some
  573.     suggestions may not always work under some circumstances.  You use these
  574.     suggestions at your own risk.
  575.  
  576.                            Section 8-1: Shared IRQ's
  577.  
  578.     ONEFOSsil supports ports that share the same IRQ.  Under DOS or
  579.     DESQview, this will only work if ONEFOSsil is the last driver to use the
  580.     interrupt and is loaded before the multitasker.  Any number of copies of
  581.     ONEFOSsil should be able to share the same IRQ.  Under Windows or
  582.     Windows 95, it is believed that ONEFOSsil will work even if loaded in
  583.     each window.  This is due to how Windows virtualizes the communications.
  584.     Please read Windows Tips for more information.
  585.  
  586.                         Section 8-2: Pretested Software
  587.  
  588.     The following software notes have been taken during testing and normal
  589.     use of ONEFOSsil.
  590.  
  591.     DOORWAY: If you use DoorWay 2.3 or earlier, possibly later versions too,
  592.     you MUST use the H option when installing ONEFOSsil, or the O command
  593.     before running DoorWay.  DoorWay has a bug dealing with the order in
  594.     which it saves and restores the interrupt table and initializes and
  595.     deinitializes the FOSSIL driver.
  596.  
  597.     CEXYZ: If you use CEXYZ as a protocol driver, under a multitasker,
  598.     performance may drag, specially on receiving.  Everything is ok if run
  599.     in DOS.  It appears to be CEXYZ's multitasking support.  ZSXW works fine
  600.     and gets much better performance under Windows and DESQview.
  601.  
  602.     DDPLUS: Any door written with DDPlus version 7.1 or earlier, possibly
  603.     later versions too, will not work with ONEFOSsil if set to use XFOSSIL
  604.     (otherwise known as the X00 Extended FOSSIL mode).  DDPlus driven doors
  605.     will not even work with X00 in that mode.  Instead all calls to the
  606.     FOSSIL end up in the BIOS COMM routines.  This is probably in how DDPlus
  607.     is detecting an X00 FOSSIL, which just plain won't work with ONEFOSsil.
  608.     Doors affected by this include LORE 2.00, LORD 3.52 (except it is not
  609.     apparent), USURPER 1.13b and many others.
  610.  
  611.     Software tested: Renegade BBS, FHSLink, L.O.R.D., Planets: TEOS,
  612.     Usurper, Galactic Overlords, Global War, DoorWay, CEXYZ, RIPVersi, LORE,
  613.     FOSSILC (unreleased version), B.R.E., Portal of Power, FrontDoor,
  614.     Intermail, ZSXW, RIPSweeper, WildCat!, and a few others.
  615.  
  616.                            Section 8-3: Windows Tips
  617.  
  618.     During development and testing, some tips for using ONEFOSsil under
  619.     Windows 3.11 and Windows 95 have been collected.  Many thanks to those
  620.     in FidoNet's WIN95 echo for suggesting these tips.  These tips have not
  621.     been tested under Windows 3.11, as it does not have all these options.
  622.     These suggestions will reduce, if not entirely eliminate, CRC errors and
  623.     increase performance.  Also, these tips are not just for ONEFOSsil, but
  624.     apply to almost all communications under Windows 95.
  625.  
  626.     It was found during testing of ONEFOSsil that Windows 95's
  627.     communications drivers have some bugs in how a 16450 UART is
  628.     initialized.  As such, if the first port accessed by a DOS application
  629.     after Windows has been loaded is a 16450 UART port, it is likely that
  630.     the application that uses the port will drop lots of characters,
  631.     specially at higher speeds.  This is not specific to ONEFOSsil as all
  632.     DOS communications software were found to have the same problem.
  633.     Generally, there are no problems if a 16550 UART port is accessed before
  634.     a 16450 UART port is accessed.  The problem also seems to disappear once
  635.     the DOS window has been closed and re-opened.
  636.  
  637.     One may find communications in Windows 95 to be very temperamental if an
  638.     IRQ above 8 is used for a COM port IRQ.  The conditions would come and
  639.     go from reboot to reboot.  Generally the UART's interrupt would be
  640.     disabled whenever a character was received, and could cause system
  641.     locks.  This was generally made even worse when combined with the above
  642.     problem.  The only solution is to try to keep COM ports using IRQ's
  643.     lower than 8.
  644.  
  645.     The following tip was partially suggested by Bill Gaston on FidoNet's
  646.     WIN95 echo.  Most of the suggestion he posted as been complemented with
  647.     the authors complete testing of the suggestion.  As such, there have
  648.     come to be some differences even between Bill's and the author's
  649.     original publication of this tip.  Perform the following steps to
  650.     improve DOS programs performance and reliability while running in
  651.     Windows or Windows 95.
  652.  
  653.           Open the Control Panel.
  654.           Open the System Properties icon.
  655.           Select the Device Manager tab.
  656.           Expand the Ports branch.
  657.           Carry out the following steps on each COM port.
  658.           Press the Properties button.
  659.           The properties on this page are only used as defaults for Windows
  660.                 programs; however, make sure everything is correct, such as
  661.                 the Flow Control setting should usually be set to Hardware.
  662.           Press the Advanced... button.
  663.           Press the Defaults button to set the FIFO values at 3 notches and
  664.                 4 notches respectively.  This works the best for most all
  665.                 systems, and appears to be used even for DOS applications.
  666.           Press the OK button to return to the Properties tab.
  667.           Press the OK button to return to the Device Manager.
  668.           Close the System Properties window to save the changes.
  669.           Open the file \Windows\System.ini with an editor.
  670.           Make the following changes to the [386Enh] section.
  671.                 Remove or remark any "COMBoostTime=" statements.  It was
  672.                       earlier suggested to add this statement, but the
  673.                       author has found applications perform better without
  674.                       it.
  675.                 Add or change the statement "MinTimeSlice=" to read
  676.                       "MinTimeSlice=30".  This greatly improves the
  677.                       performance of LORE and BRE while the are in the
  678.                       background.
  679.                 Add or change the statements "COMxBuffer=y" for each COM
  680.                       port used by DOS applications.  The value y is the
  681.                       amount of buffer space to be reserved for COMx.
  682.                       Ideally, a value larger than ONEFOSsil's read value
  683.                       should be used.  This will greatly improve performance
  684.                       and reliability of DOS applications.
  685.  
  686.     On the ONEFOSsil command line, the FIFO settings can be set to F=16,4 to
  687.     provide better results on 16550 UARTS.  This sets the FIFO's to maximum
  688.     for both transmit and receive FIFO's.
  689.  
  690.     It is also suggested to run the UART at as high of a speed as can be
  691.     supported by the modem.  This increases performance specially with error
  692.     correcting and data compression modem protocols.
  693.  
  694.     Just to note, these settings have completely eliminated CRC errors on
  695.     the authors 4 megabyte system on all 16550 UART ports.  Ports using
  696.     16450 UARTs do not produce CRC errors even running at 38400bps (direct
  697.     link between computers).
  698.  
  699.                            Section 9: Troubleshooting
  700.  
  701.     If you can not find an answer here, you are very welcome to read the
  702.     SUPPORT.TXT file and use any valid means for contacting the author to
  703.     discuss the problem.
  704.  
  705.     This section will be maintained in FAQ (Frequently Answered Questions)
  706.     format.
  707.  
  708.     Q: I get CRC errors in Windows or Windows 95, can this be solved?
  709.  
  710.     A: Usually.  Please read Compatibility Notes - Windows Tips, above, for
  711.     more information.  If problems persist, please contact the author
  712.     through the appropriate support channel.
  713.  
  714.     Q: I have just a couple programs that refuse to work with ONEFOSsil,
  715.     everything else appears to work fine, what can I do?
  716.  
  717.     A: Contact all authors involved.  The author of ONEFOSsil may be able to
  718.     solve the problem, or provide a work-around, but the best long term
  719.     solution is to correct the bugs other programs may have.  It reduces the
  720.     chances that other problems will be created in the future.
  721.  
  722.     Q: ONEFOSsil refuses to install, stating that the UART doesn't exist,
  723.     why is this?
  724.  
  725.     A: ONEFOSsil does a test that almost always insures the UART and the
  726.     interrupt hardware are functioning before loading.  Under multitaskers,
  727.     if another window or task already has the port to itself, ONEFOSsil may
  728.     not be able to recognize the UART (as in the case with Windows) or may
  729.     find the interrupt hardware to be failing (as in the case with
  730.     DESQview).  Try closing all windows or loading ONEFOS in DOS.  If it
  731.     still refuses to work check all settings.  After running out of
  732.     possibilities, attempt to contact the author to see if you don't have
  733.     unsupported UART hardware.  ONEFOS has been tested to work on internal
  734.     modems, 16550's, 16450's, and on 12mhz 80286 processors.  Even faster
  735.     machines may provide problems with how ONEFOSsil detects UART's, however
  736.     no problems have been reported yet.
  737.  
  738.     Q:  I tried to get ONEFOSsil to report its status, or change its
  739.     settings after it has been installed, but I keep getting a command line
  740.     error message, why?
  741.  
  742.     A:  RTFM!  Those commands are documented above as being unfinished.  It
  743.     is the hope of the author to have all ONEFOSsil commands completed at
  744.     revision 10.  At that time the whole project will be given a better
  745.     command line processor, and better help when an error occurs.
  746.  
  747.     Q:  Any other questions, anyone?
  748.  
  749.                               Section 10: Credits
  750.  
  751.     All trademarks and copyrights mentioned in this documentation are the
  752.     property of their owners.  References to companies or their products are
  753.     in no way an advertisement or a guarantee that this product will work
  754.     with the mentioned products or environments.
  755.  
  756.     Thanks the most to Ralph Brown and others for the Interrupt List
  757.     (version 48).  Without the Interrupt List and its many other components,
  758.     this project would have flopped from all the misleading sources I used.
  759.     Yes, the Interrupt List is not perfect, but not nearly as bad as some of
  760.     the other sources I used in this project.
  761.  
  762.     Thanks also to Allen L. Wyatt, Sr. for "Advanced Assembly Language"
  763.     (ISBN 1-56529-037-2) which provided me with just enough (misleading)
  764.     information to start on the project.  Many sample programs contradict
  765.     information shown in the charts, but they all seem to run, and I do plan
  766.     to use more of the book than the "Serial Communications" chapter.
  767.  
  768.     Thanks also to Ray Gwinn for providing the specifications to his
  769.     slightly advanced FOSSIL specification.  Yes, small errors here and
  770.     there too, but nothing the Interrupt List didn't clear up.  It is also
  771.     his buggy DOS based FOSSIL driver, X00, and his supposed denounce of
  772.     Windows, that prompted for the creation of this driver.  Bob Juge also
  773.     had some help in getting me to write this driver, with his persistent,
  774.     "the X00 specs are publicly available."
  775.  
  776.     Thanks a little to Barb Maly, for constantly reminding me why she didn't
  777.     use X00, and why I didn't use BNU.  She is also a primary beta tester
  778.     and is the primary distributor.
  779.  
  780.     Dan Liston gets a little thanks too, for allowing me to test my driver
  781.     on repeated calls to his system.  I know it had to be annoying.
  782.  
  783.     Many thanks to everyone in the FidoNet WIN95 support echo.  Their
  784.     support has helped to make ONEFOSsil more complete.
  785.  
  786.     <EoF>
  787.